home *** CD-ROM | disk | FTP | other *** search
/ Eagles Nest BBS 8 / Eagles_Nest_Mac_Collection_Disc_8.TOAST / Developer Tools⁄Additions / InsideBa1994 / InsideBasic-94 / IB 94 / VolumeFreeSpace / VolumeFreeSpace.BAS
BASIC Source File  |  1993-05-05  |  1KB  |  35 lines

  1. CLEAR LOCAL
  2. LOCAL FN VolumeFreeSpace (pbPtr&, formatFlag)
  3.   freeSpace& = pbPtr&.ioVFrBlk%         'get number of free blocks
  4.   LONG IF freeSpace& < 0                'less than zero?
  5.     freeSpace& = freeSpace& + &FFFF  'convert to real count
  6.   END IF
  7.   freeSpace& = freeSpace&*pbPtr&.ioVAlBlkSiz&'free blks x blk size
  8.   LONG IF formatFlag                    ' should we format this?
  9.     freeSpace& = freeSpace& / 1024      ' if yes, make megabytes
  10.   END IF
  11. END FN = freeSpace&                     ' return space on volume
  12.  
  13.  
  14. CLEAR LOCAL
  15. DIM pbBlk.128, 63 vName$
  16. LOCAL FN GetVolNames
  17.   
  18.   pbBlk.ioNamePtr&      = @vName$    'pointer to volume name
  19.   pbBlk.ioVRefNum%      = 0          'don't need vol ref num
  20.   pbBlk.ioVolIndex%     = 1          'start with 1st volume
  21.   
  22.   DO
  23.     osErr% = FN GETVOLINFO (@pbBlk)  'get original volume info
  24.     LONG IF osErr% = _noErr          'no error?
  25.       PRINT pbBlk.ioVolIndex%,vName$,;'show volume name
  26.       PRINT FN VolumeFreeSpace (@pbBlk, _true);"K"'show free space
  27.       INC WORD (@pbBlk.ioVolIndex%)  'seek next mounted volume
  28.     END IF
  29.   UNTIL osErr% <> 0
  30. END FN = osErr%
  31.  
  32.  
  33. FN GetVolNames
  34. INPUT R$
  35.